\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\title{[SPECS] Requisits i especificacions del projecte}
\author{Adrià Ribatallada i Torelló}
\begin{document}
\part{Requisits i especificacions del projecte}
\paragraph{}
Especificacions i requisits del Projecte "Navegador de fitxers per criteris temporals" al qual m'agradaria referir-me a partir d'ara amb el nom de "Nimitz" en honor al nom de la nau que apareix a la pel·licula del 1980 "The Final Countdown" i que navega a través del temps tal i com es pretén que el projecte faci.
\paragraph{}
La secció d'especificacions consta de diversos apartats que determinen el comportament i les funcionalitats previstes pel projecte, mentre que l'apartat de requisits delimita els mínims objectius així com els objectius auxiliars i la seva rellevància.
\section{Conceptes Previs}
\paragraph{}
Aquests són els termes que es necessiten conèixer per poder comprendre correctament les especificacions anomenades en aquest document.
\begin{list}{-}{}
\item Navegador:
\item Fitxer:
\item Carpeta:
\item Directori:
\item Subdirectori:
\end{list}
\section{Especificacions}
\paragraph{-}
S'ha de poder visualitzar tots els continguts (fitxers) d'un directori donat (arrel) i tots els seus sub-directoris en una mateixa finestra del Navegador ignorant per complet la estructura de sub-directoris establerta sota la arrel. A aquesta capacitat la anomenarem "aplanar" un directori. Seria desitjable que d'aquesta tasca se'n pogués encarregar un "mòdul" que pogués ser activat independentment de la resta de "modificacions". A tal mòdul l'anomenarem "Straßenwalze" o "Walze", que significa aplanadora en Alemany. Per defecte la ordenació dels fitxers que mostri el navegador amb el Walze activat ha de ser la mateixa seleccionada en el navegador abans d'activar-la (a no ser que estigui també activat el mòdul temporal).
\paragraph{-}
Aconseguir que es pugui filtrar el contingut mostrat en una finestra del navegador (ja estigui activat el Walze o no) per criteris temporals. Els criteris seran el més variats i útils possibles, i inclouran no menys que la possibilitat de filtrar per Data de Creació, Data de darrera Modificació, Data de Darrer accés i Intervals de les anteriors dates. A aquest mòdul se'l anomenara "DMC\_12" en honor al vehicle utilitzat per viatjar en el temps en el film de 1985 "Back to the future".
\paragraph{-}
S'ha de proporcionar una manera ràpida i clara d'activar els mòduls anteriorment citats des de la mateixa interfície del navegador a poder ser, i s'han de deshabilitar els controls de navegació per carpetes que proporciona el navegador, o com a molt fer que al usar tals controls es desactivi el mòdul Walze. 
\paragraph{-}
Així mateix s'ha d'integrar un calendari al navegador quan el mòdul DMC-12 es actiu, per poder seleccionar els intervals de temps de forma intuïtiva i ràpida. Una possibilitat plausible podria ser substituir la vista d'arbre del navegador (característica atròfica quan la navegació temporal és activa) pel calendari. Anomenarem a l'apartat de calendari "Calendas". (Fig. 1)
\paragraph{-}
Calendas ha de permetre seleccionar un moment temporal amb precisió com a mínim horària, i també intervals temporals amb la mateixa precisió. Ha de poder-se sel·leccionar qualsevol interval temporal, i s'ha d'intentar adequar la representació del temps al format local qe l'usuari del sistema hagi seleccionat. (potser podríem menystenir les dates futures o les anteriors al 1970, però si no existeix una raó explicita per fer-ho preferiria no limitar les dates).
\paragraph{-}
És extremadament desitjable que les demès característiques del navegador no es vegin alterades de cap manera, o en la mesura del possible de manera molt limitada, pels mòduls del Nimitz. A tal efecte s'ha de permetre, per exemple, continuar donant la possibilitat de crear noves carpetes o fitxers, o de copiar fitxers d'una carpeta del navegador a una altre i contemplar totes les possibles eventualitats que això comportarà (per exemple en el cas de que s'intentes copiar una carpeta a una finestra plana, que no te carpetes). Cada modul hauria de gestionar per si sol tals eventualitats en cas que es detectin.
\paragraph{-}
En relació al punt anterior aclarir que en realitat la estructura de directoris no quedara eliminada realment i continuarà existint, per tant per gestionar de manera decent els fitxers creats en mode de navegació temporal es pot crear un criteri de creació d'una estructura de fitxers automàtica, perquè en cas de que un usuari desitgés treballar amb la navegació temporal però eventualment volgués o hagués de navegar pel sistema jeràrquic de carpetes no es trobés un caos inintel·ligible de fitxers. Si es decidís procedir d'aquesta manera, es crearia un modul per gestionar aquests criteris d'auto-ordenació que s'anomenaria "Spilsbury".
\paragraph{-}
També seria pràctic afegir altres mètodes de filtratge per ajudar a la classificació i visualització. Aquests mètodes podrien estar presents en el Walze i podrien ser per exemple permetre visualitzar només fitxers de text o imatges, o filtrar per altres criteris que es plantegin útils.
\paragraph{-}
Es poden afegir diversos modes per fer confortable l'us del projecte als usuaris potencials. Ara mateix tinc en ment crear diversos sistemes de calendari. A tal efecte es plantegen diverses possibilitats tal i com es pot observar en les Figures 2 i 3, i les quals exposo breument a continuació. 
\subparagraph{1-}
Una possibilitat és Mostrar un calendari Amb una resolució a nivell de dies i agrupat tot en blocs mensuals tal i com s'acostuma a fer en els calendaris impresos (Fig. 2). Aquest sistema és altament intuïtiu i no gens sorprenent per a cap usuari, ja que emula la representació dels calendaris que utilitza la societat occidental actual. La selecció es farà mitjançant "Click" de ratolí sobre una data, o arrossegant des de data inicial fins a data final amb el ratolí també. Però tot i ser una bona opció planteja certes dificultats i impediments sobretot en intervals petits (dintre un mateix dia) o molt grans (si ha d'abastar diversos anys) per la qual cosa hauria de disposar de controls addicionals que permetessin introduir ja sigui numèricament o d'alguna altra manera, intervals més amplis, o com a mínim algun control per ampliar la franja de temps mostrada.
\subparagraph{2-}
Es pot introduir el temps també amb un control estil rellotge (Fig. 3) versió analògica i també digital al mateix temps) ja que és una interfície també molt coneguda i generalment acceptada, m'atreviria a dir que ja es podria considerar intuïtiva fins i tot, donada la seva vasta utilització. Duplicant aquest control podem assolir virtualment qualsevol interval sense dificultat, però el fet de duplicar un control o multiplexar-lo perquè s'usi com a data inici/data final, pot resultar confús i menys intuïtiu que el "drag \& dorp" plantejat anteriorment.
\section{Requisits}
\paragraph{}
Per considerar el Nimitz "realitzat" és indispensable que els mòduls Walze i DMC-12 siguin completament operatius així com que almenys una de les variants de la interfície Calendas estigui completament implementada i sigui usable el 100\%. També és un requeriment bàsic que el Nimitz estigui integrat en el Navegador (Thunar en aquest cas) i que aquest no vegi alterada la seva funció principal. Queden per tant com a objectius no prioritaris crear diverses variants del Calendes, afegir diversos "criteris extra" de filtratge o ordenació que no sigui els bàsics especificats en l'apartat del DMC-12, gestionar automàticament la creació de fitxers nous en una estructura de directoris subjacent llegible, et cetera.
\end{document}
